package vo;


import lombok.Data;
import org.apache.commons.lang.StringUtils;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 用来作为配置文件对应类的标识Key
 * 不能改变对象状态，线程安全；
 * Created by wujiazhi on 15/12/23.
 */
@Data
public class ConfKey {
    /**
     * 不同维度的默认值
     */
    private final static String __DEFAULT_PAYTYPE = "__DEFAULT_PAYTYPE__";
    private final static String __DEFAULT_PAYMODE = "__DEFAULT_PAYMODE__";
    private final static String __DEFAULT_APPNAME = "__DEFAULT_APPNAME__";
    private final static String __DEFAULT_FINANCEACCNO = "__DEFAULT_FINANCEACCNO__";
    private final static String __DEFAULT_NOTIFYKEY = "__DEFAULT_NOTIFYKEY__";
    public final static String __DEFAULT_AUXILIARYATTRIBUTE = "__DEFAULT_AUXILIARYATTRIBUTE__";

    /**
     * 配置的维度
     */
    private String payType;
    private String payMode;
    private String appName;
    private String financeAccno;
    private String notifyKey;
    private String auxiliaryAttribute = __DEFAULT_AUXILIARYATTRIBUTE;   // 辅助属性，上游通过拼接各种属性值，完成此字段。用此字段确认一个唯一的confKey


    public ConfKey(String payType, String payMode, String appName, String financeAccno, String notifyKey, String auxiliaryAttribute) {
        this.payType = payType;
        this.payMode = payMode;
        this.appName = appName;
        this.financeAccno = financeAccno;
        this.notifyKey = notifyKey;
        this.auxiliaryAttribute = auxiliaryAttribute;
    }
}
